project(AudioVideoBridging)

set(DYLIB_COMPAT_VERSION "1.0.0")
set(DYLIB_CURRENT_VERSION "1.0.0")
set(FRAMEWORK_VERSION "A")

remove_sdk_framework(AudioVideoBridging
)

generate_sdk_framework(AudioVideoBridging
    VERSION ${FRAMEWORK_VERSION}
    HEADER "include/AudioVideoBridging"
)

add_framework(AudioVideoBridging
    FAT
    CURRENT_VERSION
    VERSION ${FRAMEWORK_VERSION}

    SOURCES
        src/AudioVideoBridging.m
        src/AVB1722MAAP.m
        src/AVB1722ControlInterface.m
        src/AVB17221ACMPInterface.m
        src/AVB17221ACMPPendingResponse.m
        src/AVB17221AECPInterface.m
        src/AVB17221AECPPendingResponse.m
        src/AVB17221AEMAudioCluster.m
        src/AVB17221AEMAudioMap.m
        src/AVB17221AEMAudioMapping.m
        src/AVB17221AEMStreamPort.m
        src/AVBWiFiInterface.m
        src/AVB17221AEMAudioUnit.m
        src/AVB17221AEMAVBInterface.m
        src/AVB17221AEMLMMMapping.m
        src/AVB17221AEMLocalModelMaker.m
        src/AVB17221AEMLocalRemoteMapping.m
        src/AVB17221AEMClockSource.m
        src/AVB17221AEMConfiguration.m
        src/AVBIIDCStreamConfiguration.m
        src/AVB17221AEMControl.m
        src/AVB17221AEMControlDescriptorArrayValue.m
        src/AVB17221AEMControlDescriptorBodePlotValue.m
        src/AVB17221AEMBodePlotEntry.m
        src/AVB17221AEMControlDescriptorLinearValue.m
        src/AVB17221AEMControlDescriptorSelectorValue.m
        src/AVB17221AEMControlDescriptorUTF8Value.m
        src/AVBInterfaceStreamingManager.m
        src/AVB17221AEMAVCaptureDeviceModelMaker.m
        src/AVBAVDECCController.m
        src/AVB17221AEMControlDescriptorValue.m
        src/AVB17221AEMDescriptorCount.m
        src/AVB17221AEMEntity.m
        src/AVB17221AEMJack.m
        src/AVB17221AEMExternalPort.m
        src/AVB17221AEMInternalPort.m
        src/AVB17221AEMControlDescriptorLinearSet.m
        src/AVB17221AEMLocale.m
        src/AVB17221AEMLocalizedStringReference.m
        src/AVB17221AEMMatrix.m
        src/AVB17221AEMMixer.m
        src/AVB17221AEMModelObject.m
        src/AVBAVDECCEntity.m
        src/AVBAVDECCEntityInterface.m
        src/AVB17221AEMMSRPMapping.m
        src/AVB17221AEMObject.m
        src/AVB17221AEMSamplingRate.m
        src/AVB17221AEMSamplingRateRange.m
        src/AVBIIDCUserOutputStream.m
        src/AVBEUI64Transformer.m
        src/AVBConnectedTransformer.m
        src/AVB17221AEMControlDescriptorVendorValue.m
        src/AVB17221AEMSensorUnit.m
        src/AVB17221AEMSignalSelector.m
        src/AVB17221AEMSignal.m
        src/AVB17221AEMStream.m
        src/AVB17221AEMStreamFormat.m
        src/AVB17221AEMStandardStreamFormat.m
        src/AVB17221AEMIIDCStreamFormat.m
        src/AVB17221AEM61883StreamFormat.m
        src/AVB17221AEM618834StreamFormat.m
        src/AVB17221AEM618836StreamFormat.m
        src/AVB17221AEM61883632BitStreamFormat.m
        src/AVB17221AEM618836FloatStreamFormat.m
        src/AVB17221AEM618836AM824StreamFormat.m
        src/AVB17221AEM618837StreamFormat.m
        src/AVB17221AEM618838StreamFormat.m
        src/AVB17221AEMMMAStreamFormat.m
        src/AVB17221AEMAAFStreamFormat.m
        src/AVB17221AEMAAFPCMStreamFormat.m
        src/AVB17221AEMAAFAES3StreamFormat.m
        src/AVB17221AEMCVFStreamFormat.m
        src/AVB17221AEMCVFMJPEGStreamForamt.m
        src/AVB17221AEMCVFH264StreamFormat.m
        src/AVB17221AEMCVFJPEG2000StreamFormat.m
        src/AVB17221AEMCRFStreamFormat.m
        src/AVB17221AEMTSCFStreamFormat.m
        src/AVB17221AEMSVFStreamFormat.m
        src/AVB17221AEMRVFStreamFormat.m
        src/AVB17221AEMVSFStreamFormat.m
        src/AVB17221AEMVendorStreamFormat.m
        src/AVB17221AEMStrings.m
        src/AVB17221AEMVideoUnit.m
        src/AVBEthernetInterface.m
        src/AVBInterface.m
        src/AVBIIDCUserInputStream.m
        src/AVB17221Entity.m
        src/AVB17221EntityDiscovery.m
        src/AVBIIDCIOSurfaceStream.m
        src/AVBMRP.m
        src/AVBMSRPDomain.m
        src/AVBMSRPDomainInfo.m
        src/AVBSimpleVirtualAudio.m
        src/AVBMACAddressFormatter.m
        src/AVBVirtualStream.m
        src/AVBVirtualStreamConnection.m
        src/AVBMSRPListener.m
        src/AVB17221AEMModelMaker.m
        src/AVBMSRPTalker.m
        src/AVBMSRPTalkerAttribute.m
        src/AVBMVRP.m
        src/AVB17221AEMCoreAudioDeviceModelMaker.m
        src/AVBBuiltInAVDECCEntity.m
        src/AVBNub.m
        src/AVB17221AEMMemoryObjectData.m
        src/AVB17221AEMEntityEnumerator.m
        src/AVBMACAddress.m
        src/AVB17221ACMPMessage.m
        src/AVB17221AECPAEMMessage.m
        src/AVB17221AECPAddressAccessMessage.m
        src/AVBAudioDeviceSharing.m
        src/AVBMutableBool.m
        src/AVBVirtualEntity.m
        src/AVB17221AECPAVCMessage.m
        src/AVB17221AECPVendorMessage.m
        src/AVB17221AECPAddressAccessTLV.m
        src/AVB17221AEMStreamFormatTransformer.m
        src/AVB17221AEMVideoColorSpaceTransformer.m
        src/AVB17221AECPMessage.m
        src/AVB17221AEMMatrixSignal.m
        src/AVB17221AEMMemoryObject.m
        src/AVB17221AEMNamedModelObject.m
        src/AVB17221AEMClockDomainedModelObject.m
        src/AVB17221AEMNamedClockDomainedModelObject.m
        src/AVB17221AEMUnit.m
        src/AVB17221AEMCluster.m
        src/AVBMAAPMACAddress.m
        src/AVB17221AEMPort.m
        src/AVBCentralManager.m
        src/AVB17221AEMSignalPort.m
        src/AVB17221AEMSampleRateTransformer.m
        src/AVB17221AEMVideoMap.m
        src/AVBIIDCIOSurfaceOutputStream.m
        src/AVB17221AEMSensorMap.m
        src/AVB17221AEMVideoMapping.m
        src/AVB17221AEMSensorMapping.m
        src/AVB17221AEMSensorCluster.m
        src/AVB17221AEMBaseControl.m
        src/AVBCustomVirtualAudioEntityAEMValidator.m
        src/AVB17221AEMSignalTranscoder.m
        src/AVB17221AEMSignalSplitter.m
        src/AVB17221AEMSignalSplitterMapping.m
        src/AVB17221AEMSignalDemultiplexerMapping.m
        src/AVBBuiltInAVDECCController.m
        src/AVB17221AEMSignalDemultiplexer.m
        src/AVB17221AEMSignalCombinerMapping.m
        src/AVB17221AEMSignalMultiplexerMapping.m
        src/AVB17221AEMSignalCombiner.m
        src/AVB17221AEMSignalMultiplexer.m
        src/AVB17221AEMVideoCluster.m
        src/AVB17221AEMVideoFormatSpecific.m
        src/AVB17221AEMVideoAspectRatio.m
        src/AVB17221AEMVideoSize.m
        src/AVBgPTPEthernetPort.m
        src/AVB17221AEMClockDomain.m
        src/AVB17221AEMSensorFormat.m
        src/AVB17221AEMControlBlock.m
        src/AVB17221AEMControlDescriptorSelectorStringValue.m
        src/AVB17221AEMControlDescriptorSMPTETimeValue.m
        src/AVB17221AEMControlDescriptorGPTPValue.m
        src/AVB17221AEMControlDescriptorSamplingRateValue.m
        src/AVBAudioDriverManager.m
        src/AVBInputStream.m
        src/AVBStream.m
        src/AVBOutputStream.m

    DEPENDENCIES
        system
        objc
        Foundation
)
